Designers, such as engineers, architects, and the like, commonly use a computer-aided design (CAD) system to digitally represent a physical object. Today CAD systems can represent the object in not only two-dimensions (2D) along a two-plane coordinate system, e.g. an x-y axis, but also in three-dimensions (3D) along a three-plane coordinate system, i.e. an x-y-z axis, using a technique known as solid modeling.
Solid modeling is a term that refers to a set of techniques that can be used to create and store computer based representations of the physical objects. A number of solid modeling techniques have evolved over the years for providing computer-based representations of three-dimensional parts, for example parametric modeling.
Both concept and production designs can begin at a top level, and propagate down to the simple single component. Additionally, concept and production design can follow a bottom-up path where pre-defined components define the assembly. Regardless, the designs of the mechanical assembly are comprised of three basic ingredients: (1) a product structure, (2) an optional 2D layout, and (3) 3D components.
In the current art the product structure and the layout are defined at separate times, and usually through separate applications. Existing solutions focus on providing tools for the modeling of the 2D layout in a pure 2D environment without regard for component definition. This method burdens the designer with manually managing the 2D constructions using primitive techniques such as element grouping to define and manage the component definition and without a product structure.
Defining a product with a 2D layout with no concept of a product structure poses many problems. One problem is that a 2D layout does not provide a method for associating the 2D geometry to the product structure. Thus a 2D geometry must be created for every component in an assembly when even similar components exist. A common example is with a circular pattern of mounting bolts where the 2D geometry for each bolt must be created, and as each of the bolts may be slightly rotated, a simple copy operation to duplicate the 2D geometry cannot be done due to the rotational requirement. With this scenario, representation of the bolts in the product structure would reveal one separate component item for each bolt, when in practice the component would simply have a quantity specified, e.g., 8 bolts as opposed to Bolt: 1, Bolt: 2.
Likewise, other known solutions focus on product structure where the structure is derived from 3D components as listed in the assembly. However, this approach also has many drawbacks. For example, it is often hard to initially conceptualize a project fully in 3D; 2D layout is a preferable method for understanding preliminary overall concepts. Second, systems most often require multiple 3D files to correctly generate the product structure and appropriate nesting of subassemblies within an assembly. Transitioning between the various 3D files, as well as managing the large quantity of data this generated, can be time consuming and cumbersome. And finally, each of the 3D components must be available and added to the assembly in order to create the product structure.
Thus there is a need for a system that can solve the above stated problems.